/***Intro***/ QuickDraw Offscreen
Intro(2q)

【名前】
	Intro - Toolbox: QuickDraw（man2q.hlp）

【概要】
	QuickDraw
		Pen
		Cursor
		Icon

	Color Manager

【Inside Macintosh】
								<<キーワード>>
	QuickDraw / Color QuickDraw				QuickDraw
		I-135	QuickDraw
		VI-16	Graphics Overview
		V-39	Color QuickDraw
		VI-17	Color QuickDraw
			VI-20	Palette Manager
			VI-19	Color Picker Package
			VI-18	Picture Utilities Package
			VI-21	Graphics Devices Manager
			V-133	Color Manager

		廃止	V-117	Graphics Devices
			V-151	Palette Manager
			V-171	Color Picker Package

	Toolbox Utilities
		I-465	カーソル など

【関連項目】
	カラー関連(およびその他のグラフィック)
		PaletteManager(2c)
		ColorPicker(2c)		PictureUtilites(2c)

	GUI(2g)
		FontManager(2g)		WindowManager(2g)
		ControlManager(2g)	MenuManager(2g)
		DialogManager(2g)

	テキスト
		TextEdit(2t)		FontManager(2t)

【ヘッダー】
	QuickDraw.h
	QDOffscreen.h
	ToolUtil.h	一部

【残り】
/***InitGraf***/
InitGraf(2q)

【名前】
	InitGraf - グラフポートの初期化

【書式】
	■InitGraf	I-162

	void	InitGraf(void * globalPtr);
		  プログラムの一番最初に呼び出してください
/***OpenPort***/ InitPort ClosePort OpenCPort InitCPort CloseCPort
OpenPort(2q)

【名前】
	OpenPort   - グラフポートを初期化し、開く
	InitPort   - グラフポートの再初期化
	ClosePort  - グラフポートのメモリ廃棄
	OpenCPort  -
	InitCPort  -
	CloseCPort -

【書式】
	■OpenPort	I-163
	■InitPort	I-164
	■ClosePort	I-164
	■OpenCPort	V-67
	■InitCPort	V-67
	■CloseCPort	V-68

	void	OpenPort(GrafPtr port);
	void	InitPort(GrafPtr port);
	void	ClosePort(GrafPtr port);

	void	OpenCPort(CGrafPtr port);
	void	InitCPort(CGrafPtr port);
	void	CloseCPort(CGrafPtr port);
/***SetPort***/ GetPort GrafDevice
SetPort(2q)

【名前】
	SetPort - カレントグラフポートの設定
	GetPort - カレントグラフポートの取得
	GrafDevice -

【書式】
	■SetPort	I-165
	■GetPort	I-165
	■GrafDevice	I-165

	void	SetPort(GrafPtr port);	portをカレントグラフポートとする
	void	GetPort(GrafPtr *port);	カレントグラフポートのポインタを返す

	void	GrafDevice(short device);
/***SetPortBits***/ SetPortPix PortSize MovePortTo SetOrigin SetClip GetClip ClipRect
SetPortBits(2q)

【名前】
	SetPortBits - グラフポートのビットマップの設定
	SetPortPix  - グラフポートのピックスマップの設定
	PortSize    - グラフポートの大きさ変更
	MovePortTo  - グラフポートの左上変更
	SetOrigin   - グラフポートの座標設定
	SetClip     - クリッピングリージョンの設定
	GetClip     - クリッピングリージョンの取得
	ClipRect    - Rect をグラフポートのクリッピングリージョンに設定

【書式】
	■SetPortBits	I-165
	■SetPortPix	V-76
	■PortSize	??
	■MovePortTo	I-170
	■SetOrigin	I-166
	■SetClip	I-166
	■GetClip	I-167
	■ClipRect	I-167

	void	SetPortBits(const BitMap *bm);
	void	SetPortPix(PixMapHandle pm);

	void	PortSize(short width, short height);

	void	MovePortTo(short leftGlobal, short topGlobal);
		グラフポートの左上を指定座標(グローバル座標)とする

	void	SetOrigin(short h, short v);
		グラフポートの左上がローカル座標でh,vとなるようにする

	void	SetClip(RgnHandle rgn);
		グラフポートのクリッピングリージョンをrgnの形にする

	void	GetClip(RgnHandle rgn);
		rgnにグラフポートのクリッピングリージョンを得る

	void	ClipRect(const Rect *r);
		rをグラフポートのクリッピングリージョンの形にする
/***InitCursor***/ GetCursor SetCursor HideCursor ShowCursor ObscureCursor SetCCursor GetCCursor AllocCursor DisposCCursor ShieldCursor Cursor Cursor CursPtr CursHandle CCrsr CCrsrPtr CCrsrHandle
InitCursor(2q)

【名前】
	InitCursor    - カーソルを標準に設定
	GetCursor     - カーソルリソース('CURS')の取得
	SetCursor     - カーソルの設定
	HideCursor    - カーソルレベルを-1する
	ShowCursor    - カーソルレベルを+1する
	ObscureCursor - 一旦カーソルを消す
	SetCCursor    -
	GetCCursor    -
	AllocCursor   -
	DisposCCursor -
	ShieldCursor  - 指定 Rect 内にカーソルがあった場合カーソルを消す
	Cursor        - カーソル data type
	CCrsr         - カラーカーソル data type

【書式】
	■InitCursor	I-167
	■GetCursor	I-474 (Toolbox Utilities)
	■SetCursor	I-167
	■HideCursor	I-168
	■ShowCursor	I-168
	■ObscureCursor	I-168
	■SetCCursor	V-75
	■GetCCursor	V-75
	■AllocCursor	V-75
	■DisposCCursor	V-75
	■ShieldCursor	I-474 (Toolbox Utilities)

	void	InitCursor(void);
			カーソルの状態を標準(矢印)にし、カーソルを表示する

	CursHandle	GetCursor(short cursorID);
				iBeamCursor	1	Ｉ
				crossCursor	2	＋
				plusCursor	3	＋(太い)
				watchCursor	4	腕時計

	void	SetCursor(const Cursor *crsr);
			arrow(グローバル変数) - 通常の矢印カーソル

	void	HideCursor(void);		カーソルレベルを-1する
	void	ShowCursor(void);		カーソルレベルを+1する

	void	ObscureCursor(void);
			一旦カーソルを消し、マウスが動かされると表示する

	void		SetCCursor(CCrsrHandle cCrsr);
	CCrsrHandle	GetCCursor(short crsrID);
	void	AllocCursor(void);
	void	DisposCCursor(CCrsrHandle cCrsr);

	void	ShieldCursor(const Rect *shieldRect, Point offsetPt);
		  カーソルが中にあったならば、カーソルレベルを-1する。
		  そうでなければマウスを動かしたときに-1する
		  注意: ShowCursor() とついにしてカーソルレベルを合わすこと。

			offsetPt = ??

		例:	現ポートに対して

			Point	offs = { 0, 0 };
			ShieldCursor(windowPtr->port.bounds, offs);

	■Cursor	I-146
	  Cursor
		Bits16	data;
		Bits16	mask;
		Point	hotSpot;
	  CursPtr	Cursor *
	  CursHandle	Cursor **

	■CCrsr		V-62
	  CCrsr
		short	crsrType;
		PixMapHandle crsrMap;
		Handle	crsrData;
		Handle	crsrXData;
		short	crsrXValid;	depath of expanded data (0 = none)
		Handle	crsrXHandle;	future use
		Bits16	crsr1Data;
		Bits16	crsrMask;
		Point	crsrHotSpot;
		long	crsrXTable;	private
		long	crsrID;		private
	  CCrsrPtr	CCrsr *
	  CCrsrHandle	CCrsr **
/***HidePen***/ ShowPen GetPen PenSize PenMode PenPat PenNormal GetPenState SetPenState PenState
HidePen(2q)

【名前】
	HidePen     - ペンを消す(-1する)
	ShowPen     - ペンを表示(+1する)
	GetPen      - 現在のペン位置を返す
	PenSize     - ペンサイズの設定
	PenMode     - ペン転送モードの設定
	PenPat      - ペンパターンの設定
	PenNormal   - ペンを通常状態にする
	GetPenState - 現在のペン性質を知る
	SetPenState - ペンの性質を一度に変える
	PenPixPat   - PixPat をペンパターンに設定
	PenState    - data type

【書式】
### ペンの属性
	pnMode
	pnSize
	pnPat

	■HidePen	I-168
	■ShowPen	I-168
	■GetPen	I-169
	■PenSize	I-169
	■PenMode	I-169
	■PenPat	I-169
	■PenNormal	I-169
	■GetPenState	I-169
	■SetPenState	I-169
	■PenPixPat	V-74

	void	HidePen(void);		ペンを消す(-1する)
	void	ShowPen(void);		ペンを表示(+1する)
	void	GetPen(Point *pt);	ペン位置をローカル座標で返す。

	void	PenSize(short width, short height);

	void	PenMode(short mode);
			patCopy		
			patOr		
			patXor		
			patBic		
			notPatCopy	
			notPatOr	
			notPatXor	
			notPatBic	

	void	PenPat(const unsigned char * pat);
			black(default)
			white
			gray
			ltGray
			dkGray

	void	PenNormal(void);
			サイズ		1x1
			モード		patCopy
			パターン	black

	void	GetPenState(PenState *pnState);
	void	SetPenState(const PenState *pnState);

	void	PenPixPat(PixPatHandle pp);

	■PenState	I-169
	  PenState
		Point	pnLoc;
		Point	pnSize;
		short	pnMode;
		Pattern pnPat;
/***Pattern***/ PatPtr PatHandle GetPattern GetIndPattern NewPixPat GetPixPat MakeRGBPat DisposPixPat CopyPixPat PixPat PixPatPtr PixPatHandle
Pattern(2q)

【名前】
	Pattern       - パターン data type
	PixPat        - 拡張パターン data type
	GetPattern    - パターンリソース('PAT ')の取得
	GetIndPattern - パターンリソース('PAT#')の取得
	NewPixPat     -
	GetPixPat     -
	MakeRGBPat    -
	DisposPixPat  -
	CopyPixPat    -

【書式】
	■PatPtr,PatHandle	I-473 (Toolbox Utilities)
	■GetPattern		I-473 (Toolbox Utilities)
	■GetIndPattern		I-473 (Toolbox Utilities)
	■NewPixPat		V-72
	■GetPixPat		V-73
	■MakeRGBPat		V-73
	■DisposPixPat		V-73
	■CopyPixPat		V-73


	■Pattern	I-145	オリジナルの 8x8 モノクロパターン
	  Pattern	unsigned char [8]
	  PatPtr	Pattern *
	  PatHandle	Pattern	**

	■PixPat  	V-55	拡張パターン
	  PixPat
		short	patType;
		PixMapHandle patMap;
		Handle	patData;
		Handle	patXData;
		short	patXValid;
		Handle	patXMap;
		Pattern pat1Data;

	  PixPatPtr	PixPat *
	  PixPatHandle	PixPat **

	■モノクロ
	PatHandle	GetPattern(short patternID);

	void		GetIndPattern(Pattern thePat, short patternListID,
						short index);

	■拡張パターンルーチン
	PixPatHandle	NewPixPat(void);
	PixPatHandle	GetPixPat(short patID);

	void		MakeRGBPat(PixPatHandle pp, const RGBColor *myColor);

	void		DisposPixPat(PixPatHandle pp);

	void		CopyPixPat(PixPatHandle srcPP, PixPatHandle dstPP);
/***MoveTo***/ Move LineTo Line
MoveTo(2q)

【名前】
	MoveTo - ペンの絶対移動
	Move   - ペンの相対移動
	LineTo - 線を描く(絶対座標)
	Line   - 線を描く(相対座標)

【書式】
	■MoveTo	I-170
	■Move		I-170
	■LineTo	I-170
	■Line		I-171

	void	MoveTo(short h, short v);
	void	Move(short dh, short dv);

	void	LineTo(short h, short v);
	void	Line(short dh, short dv);
/***TextFont***/ TextFace TextMode TextSize SpaceExtra CharExtra
TextFont(2q)

【名前】
	TextFont   - テキストフォントの設定
	TextFace   - テキストフェースの設定
	TextMode   - テキスト(フォントパターン転送)モードの設定
	TextSize   - テキストサイズの設定
	SpaceExtra - テキスト文字間隔の設定
	CharExtra  - 文字間隔の設定(CGrafPortのみ)

【書式】
	■TextFont	I-171
	■TextFace	I-171
	■TextMode	I-171
	■TextSize	I-171
	■SpaceExtra	I-172
	■CharExtra	V-77
	■説明		V-81

	void	TextFont(short font);
		0	システムフォント（Chicago, 漢字Talk=Osaka）
		1	アプリケーションフォント（Geneva, 漢字Talk=Osaka）

		GetFontName()	フォント名 -> フォント番号
		GetFNum()	フォント番号 -> フォント名
		RealFont()	フォントパターンが在るかどうかのチェック

	void	TextFace(short face);
			0    normal	通常
			1    bold	ボールド（太くする）
			2    italic	斜体
			4    underline	下線
			8    outline	白抜き
			0x10 shadow	影付き
			0x20 condense	？
			0x40 extend	？

		現在の設定変更
			TextFace(theProt->txFace - bold);
			TextFace(theProt->txFace + bold);

	void	TextMode(short mode);
			srcOr(default)	
			srcXor		
			srcBic		
			### 現在はふえたようである

	void	TextSize(short size);
			0(default)	12 ポイントになります
			1 ～ 		

	void	SpaceExtra(Fixed extra);

	void	CharExtra(Fixed extra);
			characterの幅を広げる(マイナスもOK, defalut=0)

【関連項目】
	FontManager(2t)
/***DrawChar***/ DrawString DrawText CharWidth StringWidth TextWidth MeasureText GetFontInfo FontInfo
DrawChar(2q)

【名前】
	DrawChar    - 文字の表示
	DrawString  - 文字列の表示
	DrawText    - テキストの表示
	CharWidth   - 文字幅を求める (ドット単位)
	StringWidth - 文字列幅を求める (ドット単位)
	TextWidth   - テキスト幅を求める (ドット単位)
	MeasureText -
	GetFontInfo - 現在テキスト情報の取得
	FontInfo    - データタイプ

【書式】
	■DrawChar	I-172
	■DrawString	I-172
	■DrawText	I-172
	■CharWidth	I-173
	■StringWidth	I-173
	■TextWidth	I-173
	■MeasureText	IV-25
	■GetFontInfo	I-173

	void	DrawChar(short ch);
	void	DrawString(ConstStr255Param s);
	void	DrawText(const void *textBuf, short firstByte,
							short byteCount);
		textBuf の firstByte(0以上) の位置から byteCount 文字を表示
		します。

	short	CharWidth(short ch);
	short	StringWidth(ConstStr255Param s);
	short	TextWidth(const void *textBuf, short firstByte,
			short byteCount);

	void	MeasureText(short count, const void *textAddr, void *charLocs);

	void	GetFontInfo(FontInfo *info);

	■FontInfo	I-173
	  FontInfo
		short	ascent;
		short	descent;
		short	widMax;
		short	leading;
/***ForeColor***/ BackColor RGBForeColor RGBBackColor GetForeColor GetBackColor BackPat BackPixPat
ForeColor(2q)

【名前】
	ForeColor    -
	BackColor    - 背景色を決める
	RGBForeColor -
	RGBBackColor -
	GetForeColor -
	GetBackColor -
	BackPat	     -
	BackPixPat   -

【書式】
	■ForeColor	I-173
	■BackColor	I-174
	■RGBForeColor	V-68
	■RGBBackColor	V-68
	■GetForeColor	V-68
	■GetBackColor	V-68
	■BackPat	I-167
	■BackPixPat	V-74

	void	ForeColor(long color);
	void	BackColor(long color);
		  33 blackColor
		  30 whiteColor
		 205 redColor
		 341 greenColor
		 409 blueColor
		 273 cyanColor
		 137 magentaColor
		  69 yellowColor


	void	RGBForeColor(const RGBColor *color);
	void	RGBBackColor(const RGBColor *color);

	void	GetForeColor(RGBColor *color);
	void	GetBackColor(RGBColor *color);

	void	BackPat(const unsigned char *pat);
	void	BackPixPat(PixPatHandle pp);
/***ColorBit***/
ColorBit(2q)

【名前】
	ColorBit - カラー出力機に表示プレーンを指定する

【書式】
	■ColorBit	I-174

	void	ColorBit(short whichBit);

		カラー出力機に表示プレーンを指定する
/***Rect***/ SetRect OffsetRect InsetRect SectRect UnionRect EqualRect EmptyRect
Rect(2q)

【名前】
	Rect       - Rect データ形式
	SetRect    - Rect データの設定
	OffsetRect - Rect の移動
	InsetRect  - Rect の縮小(マイナス値で拡大)
	SectRect   - Rect の共通部分を得る
	UnionRect  - Rect ２つを囲む Rect を求める
	EqualRect  - Rect が同じかチェック
	EmptyRect  - Rect が空(面積を持たない)かチェック

【書式】
	■SetRect	I-174
	■OffsetRect	I-174
	■InsetRect	I-175
	■SectRect	I-175
	■UnionRect	I-175
	■EqualRect	I-176
	■EmptyRect	I-176

	■Rect		I-141
	  Rect
		short	top;
		short	left;
		short	bottom;
		short	right;

	void	SetRect(Rect *r, short left, short top, short right,
				short bottom);

	void	OffsetRect(Rect *r, short dh, short dv);
			rを dh(水平方向),dv(垂直方向) に移動
			次の処理と同じ
				r->left  += dh;
				r->right += dh;
				r->top   += dv;
				r->bottom += dv;

	void	InsetRect(Rect *r, short dh, short dv);
			rを内側にdh,dvの2倍ずつ縮小させる
			次の処理と同じ
				r->left  += dh;
				r->right -= dh;
				r->top   += dv;
				r->bottom -= dv;

	Boolean	SectRect(const Rect *src1, const Rect *src2, Rect *dstRect);
			TRUE	共通部分があった (dstRect にセットされる)
			FALSE	共通部分がない

	void	UnionRect(const Rect *src1, const Rect *src2, Rect *dstRect);
			２つの Rect を囲める最小の四角形を、dstRect に返す

	Boolean	EqualRect(const Rect *rect1, const Rect *rect2);
			TRUE	完全に一致
			FALSE	一致していない

	Boolean	EmptyRect(const Rect *r);
			r が面積を持たなければ TRUE となる。
/***FrameRect***/ PaintRect EraseRect InvertRect FillRect FillCRect
FrameRect(2q)

【名前】
	FrameRect  - Rect の輪郭をかく
	PaintRect  - Rect を塗る
	EraseRect  - Rect を消す
	InvertRect - Rect 部分の反転
	FillRect   - Rect をパターンで塗る
	FillCRect  - Rect を拡張パターンで塗る

【書式】
	■FrameRect	I-176
	■PaintRect	I-177
	■EraseRect	I-177
	■InvertRect	I-177
	■FillRect	I-177
	■FillCRect	V-69

	void	FrameRect (const Rect *r);
	void	PaintRect (const Rect *r);
	void	EraseRect (const Rect *r);
	void	InvertRect(const Rect *r);

	void	FillRect (const Rect *r, const unsigned char * pat);
	void	FillCRect(const Rect *r, PixPatHandle pp);
/***FrameOval***/ PaintOval EraseOval InvertOval FillOval FillCOval
FrameOval(2q)

【名前】
	FrameOval  - 円の輪郭をかく
	PaintOval  - 円を塗る
	EraseOval  - 円の消去
	InvertOval - 円の反転
	FillOval   - 円をパターンで塗る
	FillCOval  - 円を拡張パターンで塗る

【書式】
	■FrameOval	I-177
	■PaintOval	I-178
	■EraseOval	I-178
	■InvertOval	I-178
	■FillOval	I-178
	■FillCOval	V-69

	void	FrameOval (const Rect *r);
	void	PaintOval (const Rect *r);
	void	EraseOval (const Rect *r);
	void	InvertOval(const Rect *r);

	void	FillOval (const Rect *r, const unsigned char * pat);
	void	FillCOval(const Rect *r, PixPatHandle pp);
/***FrameRoundRect***/ PaintRoundRect EraseRoundRect InvertRoundRect FillRoundRect FillCRoundRect
FrameRoundRect(2q)

【名前】
	FrameRoundRect  - 角の丸い四角形の輪郭をかく
	PaintRoundRect  - 角の丸い四角形を塗る
	EraseRoundRect  - 角の丸い四角形の消去
	InvertRoundRect - 角の丸い四角形の反転
	FillRoundRect   - 角の丸い四角形をパターンで塗る
	FillCRoundRect  - 角の丸い四角形を拡張パターンで塗る

【書式】
	■FrameRoundRect	I-178
	■PaintRoundRect	I-179
	■EraseRoundRect	I-179
	■InvertRoundRect	I-179
	■FillRoundRect		I-179
	■FillCRoundRect	V-69

### RoundRect の説明

	void	FrameRoundRect (const Rect *r, short ovalWidth,
						short ovalHeight);
	void	PaintRoundRect (const Rect *r, short ovalWidth,
						short ovalHeight);
	void	EraseRoundRect (const Rect *r, short ovalWidth,
						short ovalHeight);
	void	InvertRoundRect(const Rect *r, short ovalWidth,
						short ovalHeight);

	void	FillRoundRect (const Rect *r, short ovalWidth,
				short ovalHeight, const unsigned char * pat);
	void	FillCRoundRect(const Rect *r, short ovalWidth,
				short ovalHeight, PixPatHandle pp);
/***FrameArc***/ PaintArc EraseArc InvertArc FillArc FillCArc
FrameArc(2q)

【名前】
	FrameArc  - 円弧の輪郭を描く
	PaintArc  - 円弧の塗る
	EraseArc  - 円弧の消去
	InvertArc - 円弧の反転
	FillArc   - 円弧を指定パターンで塗る
	FillCArc  - 円弧を指定拡張パターンで塗る

【書式】
	■FrameArc	I-180
	■PaintArc	I-180
	■EraseArc	I-180
	■InvertArc	I-181
	■FillArc	I-181
	■FillCArc	V-69

### Arc の説明
	void	FrameArc (const Rect *r, short startAngle, short arcAngle);
	void	PaintArc (const Rect *r, short startAngle, short arcAngle);
	void	EraseArc (const Rect *r, short startAngle, short arcAngle);
	void	InvertArc(const Rect *r, short startAngle, short arcAngle);

	void	FillArc (const Rect *r, short startAngle, short arcAngle,
						const unsigned char * pat);
	void	FillCArc(const Rect *r, short startAngle, short arcAngle,
						PixPatHandle pp);
/***Region***/ RgnPtr RgnHandle NewRgn OpenRgn CloseRgn DisposeRgn
Region(2q)

【名前】
	Region     - リージョン data type
	NewRgn     - リージョンメモリの確保
	OpenRgn    - リージョンレコーディングの開始
	CloseRgn   - リージョンレコーディングの終了
	DisposeRgn - リージョンメモリを解放

【書式】
	■Region	I-142
	  Region
		short	rgnSize;
		Rect	rgnBBox;

	  RgnPtr	Region *
	  RgnHandle	Region **

	■NewRgn	I-181
	■OpenRgn	I-181
	■CloseRgn	I-182
	■DisposeRgn	I-182

	RgnHandle	NewRgn(void);
	void		OpenRgn(void);
	void		CloseRgn(RgnHandle dstRgn);
	void		DisposeRgn(RgnHandle rgn);
/***BitMapToRegionGlue***/ BitMapToRegion
BitMapToRegionGlue(2q)

【名前】
	BitMapToRegionGlue -
	BitMapToRegion     -

【書式】
	■BitMapToRegionGlue	??
	■BitMapToRegion	VI-17-25

	OSErr	BitMapToRegionGlue(RgnHandle region, const BitMap *bMap);

	OSErr	BitMapToRegion(RgnHandle region, const BitMap *bMap);
/***CopyRgn***/ SetEmptyRgn SetRectRgn RectRgn OffsetRgn InsetRgn SectRgn UnionRgn DiffRgn XorRgn
CopyRgn(2q)

【名前】
	CopyRgn     - Rgn のコピー
	SetEmptyRgn - Rgn を空にする
	SetRectRgn  - Rgn を指定の四角形に設定
	RectRgn     - Rgn を指定 Rect に設定
	OffsetRgn   -
	InsetRgn    - rgnを内側にdh,dvの2倍ずつ縮小させる
	SectRgn     - Rgn の共通の部分を求める
	UnionRgn    - 2つの Rgn を合わせた Rgn を求める
	DiffRgn     - Rgn の比較
	XorRgn      - Rgn の排他的論理和

【書式】
	■CopyRgn	I-183
	■SetEmptyRgn	I-183
	■SetRectRgn	I-183
	■RectRgn	I-183
	■OffsetRgn	I-183
	■InsetRgn	I-184
	■SectRgn	I-184
	■UnionRgn	I-184
	■DiffRgn	I-184
	■XorRgn	I-185

	void	CopyRgn(RgnHandle srcRgn, RgnHandle dstRgn);

	void	SetEmptyRgn(RgnHandle rgn);

	void	SetRectRgn(RgnHandle rgn, short left, short top, short right,
							short bottom);

	void	OffsetRgn(RgnHandle rgn, short dh, short dv);

	void	RectRgn(RgnHandle rgn, const Rect *r);

	void	InsetRgn(RgnHandle rgn, short dh, short dv);
		rgnを内側にdh,dvの2倍ずつ縮小させる

	void	SectRgn(RgnHandle srcRgnA, RgnHandle srcRgnB,
			RgnHandle dstRgn);
		srcRgnAとsrcRgnBに共通の部分があるときにはそれを返し、無いな
		ら戻り値としてFALSE
	void	UnionRgn(RgnHandle srcRgnA, RgnHandle srcRgnB,
			RgnHandle dstRgn);
		srcRgnAとsrcRgnBの組合わさった最小のリージョンを返す

	void	DiffRgn(RgnHandle srcRgnA, RgnHandle srcRgnB,
			RgnHandle dstRgn);
		srcRgnAにあってsrcRgnBにないところを返す

	void	XorRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
		srcRgnAとsrcRgnBの排他的論理和を返す
/***RectInRgn***/ EqualRgn EmptyRgn
RectInRgn(2q)

【名前】
	RectInRgn - Rgn と Rect の共通部分があるかチェック
	EqualRgn  - Rgn が同じかチェック
	EmptyRgn  - Rgn が空かチェック

【書式】
	■RectInRgn	I-185
	■EqualRgn	I-185
	■EmptyRgn	I-186

	Boolean	RectInRgn(const Rect *r, RgnHandle rgn);

	Boolean	EqualRgn(RgnHandle rgnA, RgnHandle rgnB);

	Boolean	EmptyRgn(RgnHandle rgn);
/***FrameRgn***/ PaintRgn EraseRgn InvertRgn FillRgn FillCRgn
FrameRgn(2q)

【名前】
	FrameRgn  - Rgn の輪郭を描く
	PaintRgn  - Rgn を塗る
	EraseRgn  - Rgn の消去
	InvertRgn - Rgn の反転
	FillRgn   - Rgn をパターンで塗る
	FillCRgn  - Rgn を拡張パターンで塗る

【書式】
	■FrameRgn	I-186
	■PaintRgn	I-186
	■EraseRgn	I-186
	■InvertRgn	I-186
	■FillRgn	I-187
	■FillCRgn	V-69

	void	FrameRgn (RgnHandle rgn);
	void	PaintRgn (RgnHandle rgn);
	void	EraseRgn (RgnHandle rgn);
	void	InvertRgn(RgnHandle rgn);

	void	FillRgn (RgnHandle rgn, const unsigned char * pat);
	void	FillCRgn(RgnHandle rgn, PixPatHandle pp);
/***ScrollRect***/
ScrollRect(2q)

【名前】
	ScrollRect - スクロール

【書式】
	■ScrollRect	I-187

	void	ScrollRect(const Rect *r, short dh, short dv,
				RgnHandle updateRgn);

		rのなかに含まれるイメージを dh,dv だけ動かします。スクロールし
		て空いた部分が、updateRgnに返されます
/***CopyBits***/ CopyMask CopyDeepMask
CopyBits(2q)

【名前】
	CopyBits     - BitMap(or PixMap) 間のコピー
	CopyMask     - マスクパターン部分のみの CopyBits
	CopyDeepMask -

【書式】
	■CopyBits	I-188; V-70; VI-21-5,13
	■CopyMask	IV-24; V-71
	■CopyDeepMask	VI-17-15,25

	void	CopyBits(const BitMap *srcBits, const BitMap *dstBits,
			const Rect *srcRect, const Rect *dstRect, short mode,
			RgnHandle maskRgn);
		srcBitsからdstBitsへコピーします。
		srcRectを切り取って、dstRectに貼ります。maskRgnの部分にコピー
		されます。modeがパターン転送モードです。

	void	CopyMask(const BitMap *srcBits, const BitMap *maskBits,
			const BitMap *dstBits, const Rect *srcRect,
			const Rect *maskRect, const Rect *dstRect);
		srcBitsのsrcRectをMaskBitsのmaskRectに掛かるものだけ、destBi
		tsのdstRectに送る

	void	CopyDeepMask(const BitMap *srcBits, const BitMap *maskBits,
			const BitMap *dstBits, const Rect *srcRect,
			const Rect *maskRect, const Rect *dstRect, short mode,
			RgnHandle maskRgn);
/***SeedFill***/ SeedCFill
SeedFill(2q)

【名前】
	SeedFill  - 
	SeedCFill -

【書式】
	■SeedFill	IV-24
	■SeedCFill	V-71

	void	SeedFill(const void *srcPtr, void *dstPtr, short srcRow,
			short dstRow, short height, short words, short seedH,
			short seedV);

		srcPtrの幅wordsと高さheightのイメージをdstPtrに移したとき、左
		肩から縦にseedV、横にseedH行った所の塗りつぶせる範囲を計算させ
		る

	void	SeedCFill(const BitMap *srcBits, const BitMap *dstBits,
			const Rect *srcRect, const Rect *dstRect, short seedH,
			short seedV, ColorSearchProcPtr matchProc,
			long matchData);
/***CalcMask***/ CalcCMask
CalcMask(2q)

【名前】
	CalcMask  - 
	CalcCMask -

【書式】
	■CalcMask	IV-24
	■CalcCMask	V-72

	void	CalcMask(const void *srcPtr, void *dstPtr, short srcRow,
			short dstRow, short height, short words);

		srcPtrの幅wordsと高さheightのイメージをdstPtrに移したとき、左
		肩から塗りつぶせる範囲を計算させる

	void	CalcCMask(const BitMap *srcBits, const BitMap *dstBits,
			const Rect *srcRect, const Rect *dstRect,
			const RGBColor *seedRGB, ColorSearchProcPtr matchProc,
			long matchData);
/***OpenPicture***/ OpenCPicture ClosePicture PicComment KillPicture DrawPicture GetPicture Picture PicPtr PicHandle OpenCPicParams
OpenPicture(2q)

【名前】
	OpenPicture  - Picture レコーディング開始
	OpenCPicture -
	ClosePicture - ピクチャーのレコーディングを終わります
	PicComment   -
	KillPicture  - myPictureの使っていたメモリを解放します
	DrawPicture  - myPictureをdstRectにはまる様にかきます
	GetPicture   - PICTリソースを読込む
	Picture      - Picture データタイプ
	OpenCPicParams - data type

【書式】
	■OpenPicture	I-189; V-96
	■OpenCPicture	VI-17-25
	■ClosePicture	I-189
	■PicComment
	■KillPicture	I-190
	■DrawPicture	I-190
	■GetPicture	I-475 (Toolbox Utilities)

	■カラーPICTフォーマット	V-84
	■カラーPICTフォーマット(拡張)	VI-17-20

	PicHandle	OpenPicture(const Rect *picFrame);
	PicHandle	OpenCPicture(const OpenCPicParams *newHeader);

		picFrameにぴったりはまるようなピクチャーのメモリを確保、レコ
		ーディングをはじめます


	void	ClosePicture(void);
		ピクチャーのレコーディングを終わります

	void	PicComment(short kind, short dataSize, Handle dataHandle);

	void	KillPicture(PicHandle myPicture);

	void	DrawPicture(PicHandle myPicture, const Rect *dstRect);
		myPictureをdstRectにはまる様にかきます

	PicHandle	GetPicture(short pictureID);


	■Picture	V-86
	  Picture
		short	picSize;
		Rect	picFrame;
	  PicPtr	Picture *
	  PicHandle	Picture **

	■OpenCPicParams	VI-17-23
	  OpenCPicParams
		Rect	srcRect;
		Fixed	hRes;
		Fixed	vRes;
		short	version;
		short	reserved1;
		long	reserved2;
/***Polygon***/ PolyPtr PolyHandle OpenPoly ClosePoly KillPoly OffsetPoly
Polygon(2q)

【名前】
	Polygon    - ポリゴン(多角形)データタイプ
	OpenPoly   - ポリゴンメモリを新しく確保して、レコーディング開始
	ClosePoly  - ポリゴンレコーディングを終え、記録
	KillPoly   - ポリゴンを消します
	OffsetPoly -

【書式】
	■Polygon	I-159

	  Polygon
		short	polySize;
		Rect	polyBBox;
		Point	polyPoints[1];

	  PolyPtr	Polygon *
	  PolyHandle	Polygon **


	■OpenPoly	I-190
	■ClosePoly	I-190
	■KillPoly	I-191
	■OffsetPoly	I-191

	PolyHandle	OpenPoly(void);

	void	ClosePoly(void);

	void	KillPoly(PolyHandle poly);

	void	OffsetPoly(PolyHandle poly, short dh, short dv);
/***FramePoly***/ PaintPoly ErasePoly InvertPoly FillPoly FillCPoly
FramePoly(2q)

【名前】
	FramePoly  - ポリゴンの輪郭をかく
	PaintPoly  - ポリゴンを塗る
	ErasePoly  - ポリゴンの消去
	InvertPoly - ポリゴンの反転
	FillPoly   - ポリゴンを指定パターンで塗る
	FillCPoly  - ポリゴンを指定カラーパターンで塗る

【書式】
	■FramePoly	I-192
	■PaintPoly	I-192
	■ErasePoly	I-192
	■InvertPoly	I-192
	■FillPoly	I-192
	■FillCPoly	V-69

### Polygon の説明
	void	FramePoly (PolyHandle poly);
	void	PaintPoly (PolyHandle poly);
	void	ErasePoly (PolyHandle poly);
	void	InvertPoly(PolyHandle poly);

	void	FillPoly (PolyHandle poly, const unsigned char * pat);
	void	FillCPoly(PolyHandle poly, PixPatHandle pp);
/***Point***/ SetPt AddPt SubPt DeltaPoint EqualPt LocalToGlobal GlobalToLocal ScalePt
Point(2q)

【名前】
	Point         - Point data type
	SetPt         - Point に値設定
	AddPt         - Point の加算
	SubPt         - Point の減算
	DeltaPoint    - Point の差を計算
	EqualPt       - Point が同じかチェック
	LocalToGlobal - ローカルからグローバルへ座標変換
	GlobalToLocal - グローバルからローカルへ座標変換
	ScalePt       - 対する高さの比率をptに返す

【書式】
	■Point
	  Point
		short	v;		// vertical	(Y)
		short	h;		// horizontal	(X)

	■SetPt		I-193
	■AddPt		I-193
	■SubPt		I-193
	■DeltaPoint	I-475 (Toolbox Utilities)
	■EqualPt	I-193
	■LocalToGlobal	I-193
	■GlobalToLocal	I-193
	■ScalePt	I-195

	void	SetPt(Point *pt, short h, short v);

	void	AddPt(Point src, Point *dst);
	void	SubPt(Point src, Point *dst);

	long	DeltaPoint(Point ptA, Point ptB);
			戻り値	HiWord	ptA.v - ptB.v
				LoWord	ptA.h - ptB.h

	Boolean	EqualPt (Point pt1, Point pt2);

	void	LocalToGlobal(Point *pt);
	void	GlobalToLocal(Point *pt);
### グローバル座標とは ?

	void	ScalePt(Point *pt, const Rect *srcRect, const Rect *dstRect);
			srcRectのdstRectに対する高さの比率をptに返す
/***PtInRect***/ PtInRgn Pt2Rect PtToAngle
PtInRect(2q)

【名前】
	PtInRect   - Point が Rect の中にあるかどうかチェック
	PtInRgn    - Point が Rgn の中にあるかどうかチェック
	Pt2Rect    - Point ２つから Rect を作成
	PtToAngle  - Point の Rectの中心から見た角度を計算

【書式】
	■PtInRect	I-175
	■PtInRgn	I-185
	■Pt2Rect	I-175
	■PtToAngle	I-175

	Boolean	PtInRect(Point pt, const Rect *r);
	Boolean	PtInRgn (Point pt, RgnHandle rgn);

	void	Pt2Rect(Point pt1, Point pt2, Rect *dstRect);

	void	PtToAngle(const Rect *r, Point pt, short *angle);
/***Random***/ StuffHex
Random(2q)

【名前】
	Random   -
	StuffHex - 

【書式】
	■Random	I-194
	■StuffHex	I-195

	short	Random(void);

	void	StuffHex(void *thingPtr, ConstStr255Param s);

		thingPtrの位置から、を16進数としてメモリに納めておく
/***GetPixel***/ SetCPixel GetCPixel
GetPixel(2q)

【名前】
	GetPixel  - 指定位置が黒ならばTRUEを返す
	SetCPixel -
	GetCPixel -

【書式】
	■GetPixel	I-195
	■SetCPixel	V-70
	■GetCPixel	V-69

	Boolean	GetPixel(short h, short v);

	void	SetCPixel(short h, short v, const RGBColor *cPix);
	void	GetCPixel(short h, short v, RGBColor *cPix);
/***MapPt***/ MapRect MapRgn MapPoly
MapPt(2q)

【名前】
	MapPt   - 
	MapRect - 
	MapRgn  - 
	MapPoly - 

【書式】
	■MapPt		I-196
	■MapRect	I-196
	■MapPoly	I-197
	■MapRgn	I-196

	void	MapPt(Point *pt, const Rect *srcRect, const Rect *dstRect);
		ptのsrcRectの左肩までの距離をsrcRectとdstRectの比率によってか
		える

	void	MapRect(Rect *r, const Rect *srcRect, const Rect *dstRect);
		rをsrcRectとの組み合わせの比率にしたがってdestRectのなかに組
		み替える

	void	MapRgn(RgnHandle rgn, const Rect *srcRect,
			const Rect *dstRect);
		rgnをsrcRectとの組み合わせの比率にしたがってdestRectのなかに
		組み替える

	void	MapPoly(PolyHandle poly, const Rect *srcRect,
			const Rect *dstRect);
		poryをsrcRectとの組み合わせの比率にしたがってdestRectのなかに
		組み替える
/***ScreenRes***/
ScreenRes(2q)

【名前】
	ScreenRes - 画面の解像度の取得(dot/inch)

【書式】
	■ScreenRes	I-473 (Toolbox Utilities)

	void	ScreenRes(short *scrnHRes, short *scrnVRes);
/***SetStdProcs***/ SetStdCProcs StdText StdLine StdRect StdRRect StdOval StdArc StdPoly StdRgn StdBits StdComment StdTxMeas StdGetPic StdPutPic
SetStdProcs(2q)

【名前】
	SetStdProcs  - 低水準ルーチン
	SetStdCProcs -
	StdText    -
	StdLine	   -
	StdRect    -
	StdRRect   -
	StdOval    -
	StdArc     -
	StdPoly    -
	StdRgn     -
	StdBits    -
	StdComment -
	StdTxMeas  -
	StdGetPic  -
	StdPutPic  -

【書式】
	■SetStdProcs	I-198
	■SetStdCProcs	V-77
	■StdText	I-198
	■StdLine	I-198

	void	SetStdProcs (QDProcs *procs);
	void	SetStdCProcs(CQDProcs *procs);

	void	StdText(short count, const void *textAddr, Point numer,
						Point denom);
	void	StdLine(Point newPt);
	void	StdRect(GrafVerb verb, const Rect *r);
	void	StdRRect(GrafVerb verb, const Rect *r, short ovalWidth,
						short ovalHeight);
	void	StdOval(GrafVerb verb, const Rect *r);
	void	StdArc(GrafVerb verb, const Rect *r, short startAngle,
						short arcAngle);
	void	StdPoly(GrafVerb verb, PolyHandle poly);
	void	StdRgn(GrafVerb verb, RgnHandle rgn);
	void	StdBits(const BitMap *srcBits, const Rect *srcRect,
			const Rect *dstRect, short mode, RgnHandle maskRgn);
	void	StdComment(short kind, short dataSize, Handle dataHandle);
	short	StdTxMeas(short byteCount, const void *textAddr, Point *numer,
			Point *denom, FontInfo *info);
	void	StdGetPic(void *dataPtr, short byteCount);
	void	StdPutPic(const void *dataPtr, short byteCount);
/***NewPixMap***/ DisposPixMap CopyPixMap
NewPixMap(2q)

【名前】
	NewPixMap    -
	DisposPixMap -
	CopyPixMap   -

【書式】
	■NewPixMap	V-70
	■DisposPixMap	V-70
	■CopyPixMap	V-70

	PixMapHandle	NewPixMap(void);

	void	DisposPixMap(PixMapHandle pm);

	void	CopyPixMap(PixMapHandle srcPM, PixMapHandle dstPM);
/***OpColor***/ HiliteColor
OpColor(2q)

【名前】
	OpColor     -
	HiliteColor -

【書式】
	■OpColor	V-77
	■HiliteColor	V-77

	void	OpColor(const RGBColor *color);

	void	HiliteColor(const RGBColor *color);
/***GetCTable***/ DisposCTable
GetCTable(2q)

【名前】
	GetCTable	-
	DisposCTable	-

【書式】
	■GetCTable	V-77
	■DisposCTable	V-78

	CTabHandle	GetCTable(short ctID);

	void	DisposCTable(CTabHandle cTable);
/***GetIcon***/ PlotIcon GetCIcon PlotCIcon DisposCIcon CIcon CIconPtr CIconHandle
GetIcon(2q)

【名前】
	GetIcon     - アイコン('ICON')リソースの読み込み
	PlotIcon    - アイコンの表示
	GetCIcon    - カラーアイコン('cicn')リソースの読み込み
	DisposCIcon - カラーアイコンの破棄
	PlotCIcon   - カラーアイコンの表示
	CIcon       - カラーアイコン data type

【書式】
	■GetIcon	I-473 (Toolbox Utilities)
	■PlotIcon	I-473 (Toolbox Utilities)
	■GetCIcon	V-76
	■DisposCIcon	V-76
	■PlotCIcon	V-76

	Handle	GetIcon(short iconID);

	void	PlotIcon(const Rect *theRect, Handle theIcon);
		アイコンを theRect の位置と大きさに表示する
		(CopyBits() を使用している)

	CIconHandle	GetCIcon(short iconID);

	void	PlotCIcon(const Rect *theRect, CIconHandle theIcon);

	void	DisposCIcon(CIconHandle theIcon);

	■CIcon	V-64
	  CIcon
		PixMap	iconPMap;
		BitMap	iconMask;
		BitMap	iconBMap;
		Handle	iconData;
		short	iconMaskData[1];
	  CIconPtr	CIcon *
	  CIconHandle	CIcon **
/***Color2Index***/ Index2Color InvertColor RealColor
Color2Index(2q)

【名前】
	Color2Index	-
	Index2Color	-
	InvertColor	-
	RealColor	-

【書式】
	■Color2Index	V-141
	■Index2Color	V-141
	■InvertColor	V-141
	■RealColor	V-141

	long	Color2Index(const RGBColor *myColor);

	void	Index2Color(long index, RGBColor *aColor);

	void	InvertColor(RGBColor *myColor);

	Boolean	RealColor(const RGBColor *color);
/***GetSubTable***/ MakeITable
GetSubTable(2q)

【名前】
	GetSubTable	-
	MakeITable	-

【書式】
	■GetSubTable	V-142
	■MakeITable	V-142

	void	GetSubTable(CTabHandle myColors, short iTabRes,
			CTabHandle targetTbl);

	void	MakeITable(CTabHandle cTabH, ITabHandle iTabH, short res);
/***AddSearch***/ AddComp DelSearch DelComp
AddSearch(2q)

【名前】
	AddSearch -
	AddComp   -
	DelSearch -
	DelComp   -

【書式】
	■AddSearch	V-147
	■AddComp	V-147
	■DelSearch	V-147
	■DelComp	V-147

	void	AddSearch(ColorSearchProcPtr searchProc);

	void	AddComp(ColorComplementProcPtr compProc);

	void	DelSearch(ColorSearchProcPtr searchProc);

	void	DelComp(ColorComplementProcPtr compProc);
/***SetClientID***/
SetClientID(2q)

【名前】
	SetClientID	-

【書式】
	■SetClientID	V-147

	void	SetClientID(short id);
/***ProtectEntry***/ ReserveEntry SetEntries SaveEntries RestoreEntries ReqListRec
ProtectEntry(2q)

【名前】
	ProtectEntry   -
	ReserveEntry   -
	SetEntries     -
	SaveEntries    -
	RestoreEntries -
	ReqListRec     - data type

【書式】
	■ProtectEntry	V-143
	■ReserveEntry	V-143
	■SetEntries	V-143
	■SaveEntries	V-144
	■RestoreEntries	V-144

	void	ProtectEntry(short index, Boolean protect);

	void	ReserveEntry(short index, Boolean reserve);

	void	SetEntries(short start, short count, CSpecArray aTable);

	void	SaveEntries(CTabHandle srcTable, CTabHandle resultTable,
			ReqListRec *selection);

	void	RestoreEntries(CTabHandle srcTable, CTabHandle dstTable,
			ReqListRec *selection);

	■ReqListRec	V-144
	  ReqListRec
		short	reqLSize;
		short	reqLData[1];
/***QDError***/ QDDone
QDError(2q)

【名前】
	QDError	- QuickDraw のエラーチェック
	QDDone	- 描画完了の確認

【書式】
	■QDError	V-145; VI-17-28
	■QDDone	VI-17-26

	short	QDError(void);

	Boolean	QDDone(GrafPtr port); 
/***GetGray***/
GetGray(2c)

【名前】
	GetGray -

【書式】
	■GetGray	VI-17-27

	Boolean	GetGray(GDHandle device, const RGBColor *backGround,
			RGBColor *foreGround);
/***GetMaskTable***/
GetMaskTable(2q)

【名前】
	GetMaskTable	-

【書式】
	■GetMaskTable	IV-25

	Ptr	GetMaskTable(void);
/***CTabChanged***/ PixPatChanged PortChanged GDeviceChanged
CTabChanged(2q)

【名前】
	CTabChanged	- 
	PixPatChanged	- 
	PortChanged	- 
	GDeviceChanged	- 

【書式】
	■CTabChanged		VI-17-26
	■PixPatChanged		VI-17-27
	■PortChanged		VI-17-27
	■GDeviceChanged	VI-17-27

	void	CTabChanged(CTabHandle ctab); 

	void	PixPatChanged(PixPatHandle ppat); 

	void	PortChanged(GrafPtr port); 

	void	GDeviceChanged(GDHandle gdh); 
/***GetCTSeed***/
GetCTSeed(2q)

【名前】
	GetCTSeed -

【書式】
	■GetCTSeed	V-143

	long	GetCTSeed(void);
/***NewGWorld***/ DisposeGWorld
NewGWorld(2q)

【名前】
	NewGWorld     - GWorld の作成
	DisposeGWorld - GWorld の破棄

【書式】
	■NewGWorld	VI-21-12
	■DisposeGWorld	VI-21-19

	QDErr	NewGWorld(GWorldPtr *offscreenGWorld, short PixelDepth, 
			const Rect *boundsRect, CTabHandle cTable, 
			GDHandle aGDevice, GWorldFlags flags); 

	void	DisposeGWorld(GWorldPtr offscreenGWorld); 
/***LockPixels***/ UnlockPixels AllowPurgePixels NoPurgePixels GetPixelsState SetPixelsState GetPixBaseAddr PixMap32Bit
LockPixels(2q)

【名前】
	LockPixels       - オフスクリーンバッファの Lock
	UnlockPixels     - オフスクリーンバッファの Unlock
	AllowPurgePixels - オフスクリーンを Purge可能に
	NoPurgePixels    - オフスクリーンを Purge不可能に
	GetPixelsState   - オフスクリーンの状態取得
	SetPixelsState   - オフスクリーンの状態設定
	GetPixBaseAddr   - オフスクリーンバッファのアドレス取得
	PixMap32Bit      - バッファアクセスの 32bitsアドレス必要チェック

【書式】
	■VI-21-15

	Boolean	LockPixels(PixMapHandle pm); 
	void	UnlockPixels(PixMapHandle pm); 

	void	AllowPurgePixels(PixMapHandle pm); 
	void	NoPurgePixels(PixMapHandle pm); 

	GWorldFlags	GetPixelsState(PixMapHandle pm); 
	void	SetPixelsState(PixMapHandle pm, GWorldFlags state); 

	Ptr	GetPixBaseAddr(PixMapHandle pm); 

	Boolean	PixMap32Bit(PixMapHandle pmHandle); 
/***UpdateGWorld***/ SetGWorld GetGWorld GetGWorldDevice GetGWorldPixMap
UpdateGWorld(2q)

【名前】
	UpdateGWorld    - 
	SetGWorld       - 
	GetGWorld       - 
	GetGWorldDevice - 
	GetGWorldPixMap - 

【書式】
	■VI-21-15

	GWorldFlags	UpdateGWorld(GWorldPtr *offscreenGWorld, 
				short pixelDepth, const Rect *boundsRect, 
				CTabHandle cTable, GDHandle aGDevice, 
				GWorldFlags flags); 

	void	SetGWorld(CGrafPtr port, GDHandle gdh); 
	void	GetGWorld(CGrafPtr *port, GDHandle *gdh); 

	GDHandle	GetGWorldDevice(GWorldPtr offscreenGWorld); 

	PixMapHandle	GetGWorldPixMap(GWorldPtr offscreenGWorld); 
/***NewScreenBuffer***/ NewTempScreenBuffer DisposeScreenBuffer
NewScreenBuffer(2q)

【名前】
	NewScreenBuffer     - ローレベル Graphics Device ルーチン
	NewTempScreenBuffer -
	DisposeScreenBuffer -

【書式】
	■VI-21-15

	QDErr	NewScreenBuffer(const Rect *globalRect, Boolean purgeable, 
			GDHandle *gdh, PixMapHandle *offscreenPixMap); 
	QDErr	NewTempScreenBuffer(const Rect *globalRect, Boolean purgeable, 
			GDHandle *gdh, PixMapHandle *offscreenPixMap); 

	void	DisposeScreenBuffer(PixMapHandle offscreenPixMap); 
/***NewGDevice***/ InitGDevice DisposGDevice GetGDevice GetDeviceList GetMainDevice GetMaxDevice GetNextDevice SetGDevice SetDeviceAttribute TestDeviceAttribute DeviceLoop
NewGDevice(2q)

【名前】
	NewGDevice          -
	InitGDevice         -
	DisposGDevice       -
	GetGDevice          -
	GetDeviceList       -
	GetMainDevice       -
	GetMaxDevice        -
	GetNextDevice       -
	SetGDevice          -
	SetDeviceAttribute  -
	TestDeviceAttribute -
	DeviceLoop          -

【書式】
	■NewGDevice		V-122; VI-21-20
	■InitGDevice		V-123; VI-21-21
	■DisposGDevice		V-123; VI-21-22
	■GetGDevice		V-123; VI-21-21
	■GetDeviceList		V-124; VI-21-21
	■GetMainDevice		V-124; VI-21-22
	■GetMaxDevice		V-125; VI-21-22
	■GetNextDevice		V-124; VI-21-22
	■SetGDevice		V-123; VI-21-22
	■SetDeviceAttribute	V-124; VI-21-22
	■TestDeviceAttribute	V-124; VI-21-22
	■DeviceLoop		VI-21-23

	#include <Palettes.h>

	GDHandle	NewGDevice(short refNum, long mode);

	void	InitGDevice(short qdRefNum, long mode, GDHandle gdh);

	void	DisposGDevice(GDHandle gdh);

	GDHandle	GetGDevice(void);
	GDHandle	GetDeviceList(void);
	GDHandle	GetMainDevice(void);
	GDHandle	GetMaxDevice(const Rect *globalRect);
	GDHandle	GetNextDevice(GDHandle curDevice);

	void	SetGDevice(GDHandle gd);

	void	SetDeviceAttribute(GDHandle gdh, short attribute,
							Boolean value);
	Boolean	TestDeviceAttribute(GDHandle gdh, short attribute);

	void	DeviceLoop(RgnHandle drawingRgn,
			DeviceLoopDrawingProcPtr drawingProc, long userData,
			DeviceLoopFlags flags);
/***HasDepth***/ SetDepth 
HasDepth(2q)

【名前】
	HasDepth - 画面デバイスサポート状況のチェック
	SetDepth - 画面デバイスのモード設定

【書式】
	■HasDepth		VI-21-23
	■SetDepth		VI-21-23

	#include <Palettes.h>

	short	HasDepth(GDHandle gd, short depth, short whichFlags,
								short flags);
		戻り値:	0以外	サポートしている
			0	サポートしていない
		depth:		ビット深さ(1, 2, 3, 4, 8, 16, 32)

	OSErr	SetDepth(GDHandle gd, short depth, short whichFlags,
								short flags);
			depth:	HasDepth() の戻り値を渡す

	■共通の引き数
		whichFlags:	flags で有効とするないようをビットで指定
				#0(0x0001)	モノクロ(0), カラー(1) の設定
		flags:		設定値

【サンプル】
	1. メインデバイスを 256カラーに設定する
	#include <Palettes.h>

	OSErr	err;
	short	depth;

	if((depth = HasDepth(GetMainDevice(),
				8, 0x0001, 0x0001/*color*/)) != 0){
		err = SetDepth(GetMainDevice(), depth, 0x0001, 0x0001);
		if(err != noErr)
			// SetDepth() のエラー
	}else
		// このモードをサポートしていない
/***OffscreenVersion***/
OffscreenVersion(2q)

【名前】
	OffscreenVersion	- 

【書式】
	long	OffscreenVersion(void); 
#
#
#
/***GrafVerb***/ PixelType Bits16 QDByte QDPtr QDHandle QDErr DeviceLoopFlags
GrafVerb(2q)

【名前】
	GrafVerb  - QuickDraw data type (unsigned char)
	PixelType - data type (unsigned char)
	Bits16    - data type (short [16])
	QDByte    - data type (char)
	QDErr     - data type (short)
	DeviceLoopFlags - data type (unsigned long)
【形式】
	GrafVerb	I-198
		GrafVerb	unsigned char

	PixelType	??
		PixelType	unsigned char

	Bits16		I-146
		Bits16	short	[16]

	QDByte		??
		QDByte		char
		QDPtr		char *
		QDHandle	char **

	QDErr		??
		QDErr	short

	DeviceLoopFlags	??
		DeviceLoopFlags	unsigned long
/***GWorldFlags***/ GWorldPtr
GWorldFlags(2q)

【名前】
	GWorldFlags - data type (unsigned long)
	GWorldPtr   - data type (CGrafPtr)

【形式】
	■GWorldFlags	VI-21-5
	■GWorldPtr	VI-21-4
		GWorldFlags	ulong
		GWorldPtr	CGrafPtr

	 0 pixPurge		pixPurgeBit
	 1 noNewDevice		noNewDeviceBit
	 2 useTempMem		useTempMemBit
	 3 keepLocal		keepLocalBit
	 6 pixelsPurgeable	pixelsPurgeableBit
	 7 pixelsLocked		pixelsLockedBit
	16 mapPix		mapPixBit
	17 newDepth		newDepthBit
	18 alignPix		alignPixBit
	19 newRowBytes		newRowBytesBit
	20 reallocPix		reallocPixBit
	28 clipPix		clipPixBit
	29 stretchPix		stretchPixBit
	30 ditherPix		ditherPixBit
	31 gwFlagErr		gwFlagErrBit
/***BitMap***/ BitMapPtr BitMapHandle PixMap PixMapPtr PixMapHandle
BitMap(2q)

【名前】
	BitMap - ビットマップ data type
	PixMap - ピクセルマップ data type

【形式】
	■BitMap	I-144
	  BitMap
		Ptr	baseAddr;
		short	rowBytes;
		Rect	bounds;
	  BitMapPtr	BitMap *
	  BitMapHandle	BitMap **

	■PixMap	V-52
	  PixMap
		Ptr	baseAddr;
		short	rowBytes;
					Bit #15	-- on	PixMap であることを示す
					Bit #14	-- off
		Rect	bounds;
		short	pmVersion;	0
					4
					2 (?? Quadra 950 でそうなっていた)
		short	packType;	現在 0 固定
		long	packSize;	現在 0 固定
		Fixed	hRes;
		Fixed	vRes;
		short	pixelType;	0  chunky
					1  chunkyPlanar
					2  planar
					16 RGBDirect [System 7以降]
		short	pixelSize;
		short	cmpCount;
		short	cmpSize;
		long	planeBytes;	??
						pixelType = chunky --> 0L
		CTabHandle pmTable;	カラーテーブルハンドル
		long	pmReserved;	現在 0 固定
	  PixMapPtr	PixMap *
	  PixMapHandle	PixMap **
/***GrafPort***/ GrafPtr WindowPtr CGrafPort CGrafPtr CWindowPtr
GrafPort(2q)

【名前】
	GrafPort  - オリジナルグラフポート data type
	CGrafPort - カラーグラフポート data type

【形式】
	GrafPort と CGrafPort の識別方法
		((GrafPort*)port)->portBits.rowBytes
		((CGrafPort*)port)->portVersion
		上記のどちらか（メモリー上は同じ）の上位 2bits
			OFF	GrafPort
			ON	CGrafPort

	■GrafPort	I-148
	  GrafPort
		short		device;		o
		BitMap		portBits;
		Rect		portRect;
		RgnHandle	visRgn;		o
		RgnHandle	clipRgn;	o
		Pattern		bkPat;
		Pattern		fillPat;
		Point		pnLoc;		o
		Point		pnSize;		o
		short		pnMode;		o
		Pattern		pnPat;
		short		pnVis;		o
		short		txFont;		o
		Style		txFace;		o
		char		filler;		o
		short		txMode;		o
		short		txSize;		o
		Fixed		spExtra;	o
		long		fgColor;	o
		long		bkColor;	o
		short		colrBit;	o
		short		patStretch;	o
		Handle		picSave;	o
		Handle		rgnSave;	o
		Handle		polySave;	o
		QDProcsPtr	grafProcs;	.
	  GrafPtr	GrafPort *
	  WindowPtr	GrafPtr

	■CGrafPort	V-49
	  CGrafPort				o = GrafPortと同じ
						. = ほぼ同じ意味
		short		device;		o
		PixMapHandle	portPixMap;
		short		portVersion;
		Handle		grafVars;
		short		chExtra;
		short		pnLocHFrac;
		Rect		portRect;	o
		RgnHandle	visRgn;		o
		RgnHandle	clipRgn;	o
		PixPatHandle	bkPixPat;
		RGBColor	rgbFgColor;
		RGBColor	rgbBkColor;
		Point		pnLoc;		o
		Point		pnSize;		o
		short		pnMode;		o
		PixPatHandle	pnPixPat;
		PixPatHandle	fillPixPat;
		short		pnVis;		o
		short		txFont;		o
		Style		txFace;		o
		char		filler;		o
		short		txMode;		o
		short		txSize;		o
		Fixed		spExtra;	o
		long		fgColor;	o
		long		bkColor;	o
		short		colrBit;	o
		short		patStretch;	o
		Handle		picSave;	o
		Handle		rgnSave;	o
		Handle		polySave;	o
		CQDProcsPtr	grafProcs;	.
	  CGrafPtr	CGrafPort *
	  CWindowPtr	CGrafPtr
/***RGBColor***/
RGBColor(2q)

【名前】
	RGBColor - 一つの色を指定する data type

【形式】
	■RGBColor	V-48, 136

	  RGBColor
		unsigned short red;
		unsigned short green;
		unsigned short blue;
/***ColorTable***/ CTabPtr CTabHandle ColorSpec ColorSpecPtr CSpecArray
ColorTable(2q)

【名前】
	ColorTable -
	ColorSpec  -

【形式】
	■ColorTable	??
	  ColorTable
		long	ctSeed;
		short	ctFlags;
		short	ctSize;
		CSpecArray ctTable;

	  CTabPtr	ColorTable *
	  CTabHandle	ColorTable **

	■ColorSpec	V-49, 136
	  ColorSpec
		short	value;
		RGBColor rgb;

	  ColorSpecPtr	ColorSpec *
	  CSpecArray	ColorSpec	[1]
/***MatchRec***/
MatchRec(2q)

【名前】
	MatchRec	-

【形式】
	■MatchRec	V-72

	  MatchRec
		unsigned short	red;
		unsigned short	green;
		unsigned short	blue;
		long		matchData;
/***GammaTbl***/ GammaTblPtr GammaTblHandle
GammaTbl(2q)

【名前】
	GammaTbl	-

【形式】
	■GammaTbl	??
	  GammaTbl
		short	gVersion;
		short	gType;
		short	gFormulaSize;
		short	gChanCnt;
		short	gDataCnt;
		short	gDataWidth;
		short	gFormulaData[1];

	  GammaTblPtr		GammaTbl *
	  GammaTblHandle	GammaTbl **
/***ITab***/ ITabPtr ITabHandle
ITab(2q)

【名前】
	ITab - インバーステーブル

【形式】
	■ITab	V-139
	  ITab
		long	iTabSeed;
		short	iTabRes;
		unsigned char iTTable[1];
	  ITabPtr	ITab *
	  ITabHandle	ITab **
/***SProcRec***/ SProcPtr SProcHndl CProcRec CProcPtr CProcHndl
SProcRec(2q)

【名前】
	SProcRec -
	CProcRec -

【形式】
	■SProcRec	V-146
	  SProcRec
		Handle	nxtSrch;
		ColorSearchProcPtr srchProc;

	  SProcPtr	SProcRec *
	  SProcHndl	SProcRec **

	■CProcRec	V-146
	  CProcRec
		Handle	nxtComp;
		ColorComplementProcPtr compProc;

	  CProcPtr	CProcRec *
	  CProcHndl	CProcRec **
/***GDevice***/ GDPtr GDHandle
GDevice(2q)

【名前】
	GDevice	-

【形式】
	■GDevice	V-119; VI-21-8
	  GDevice
		short		gdRefNum;
		short		gdID;
		short		gdType;
		ITabHandle	gdITable;
		short		gdResPref;
		SProcHndl	gdSearchProc;
		CProcHndl	gdCompProc;
		short		gdFlags;
		PixMapHandle	gdPMap;
		long		gdRefCon;
		Handle		gdNextGD;
		Rect		gdRect;
		long		gdMode;
		short		gdCCBytes;
		short		gdCCDepth;
		Handle		gdCCXData;
		Handle		gdCCXMask;
		long		gdReserved;

	  GDPtr		GDevice *
	  GDHandle	GDevice **

		<< gdType >> V-120
		clutType	0
		fixedType	1
		directType	2

		<< gdFlags >> VI-21-10
		gdDevType	0
		burstDevice	7
		ext32Device	8
		ramInit		10
		mainScreen	11
		allInit		12
		screenDevice	13
		noDriver	14
		screenActive	15
/***GrafVars***/ GVarPtr GVarHandle
GrafVars(2q)

【名前】
	GrafVars - data type

【形式】
	■GrafVars	V-67
	  GrafVars
		RGBColor rgbOpColor;
		RGBColor rgbHiliteColor;
		Handle	pmFgColor;
		short	pmFgIndex;
		Handle	pmBkColor;
		short	pmBkIndex;
		short	pmFlags;

	  GVarPtr	GrafVars *
	  GVarHandle	GrafVars **
/***QDProcs***/ QDProcsPtr CQDProcs CQDProcsPtr
QDProcs(2q)

【名前】
	QDProcs	 -
	CQDProcs -

【形式】
	■QDProcs	I-197
	  QDProcs
		Ptr	textProc;
		Ptr	lineProc;
		Ptr	rectProc;
		Ptr	rRectProc;
		Ptr	ovalProc;
		Ptr	arcProc;
		Ptr	polyProc;
		Ptr	rgnProc;
		Ptr	bitsProc;
		Ptr	commentProc;
		Ptr	txMeasProc;
		Ptr	getPicProc;
		Ptr	putPicProc;

	  QDProcsPtr	QDProcs *

	■CQDProcs	V-91
	  CQDProcs
		Ptr	textProc;
		Ptr	lineProc;
		Ptr	rectProc;
		Ptr	rRectProc;
		Ptr	ovalProc;
		Ptr	arcProc;
		Ptr	polyProc;
		Ptr	rgnProc;
		Ptr	bitsProc;
		Ptr	commentProc;
		Ptr	txMeasProc;
		Ptr	getPicProc;
		Ptr	putPicProc;
		Ptr	opcodeProc;
		Ptr	newProc1;
		Ptr	newProc2;
		Ptr	newProc3;
		Ptr	newProc4;
		Ptr	newProc5;
		Ptr	newProc6;

	  CQDProcsPtr	CQDProcs *
